package com.service.user;

/** 提供用户登录、注册、修改密码相关功能 */
public interface UserEnterService {
  /**
   * 手机号是否注册过
   *
   * @param phoneNumber 手机号
   * @return 注册过返回1，没注册返回0
   */
  int isPhoneRegistered(String phoneNumber);

  /**
   * 用户名是否注册过
   *
   * @param userName 用户名
   * @return 注册过返回1，没注册返回0
   */
  int isNameRegistered(String userName);

  /**
   * 注册，同时在user表中和user_login表中添加数据
   *
   * @param phoneNumber 手机号
   * @param userName 用户名
   * @param pswd 密码
   * @return 注册成功返回用户编号，失败返回0
   */
  String register(String phoneNumber, String userName, String pswd);

  /**
   * 用户直接根据手机号登录
   *
   * @param phoneNumber 手机号
   * @return 登陆成功返回用户编号，失败返回null
   */
  String directlyLogin(String phoneNumber);

  /**
   * 用户根据手机号/用户名、密码登录
   *
   * @param account 手机号或用户名
   * @return 登陆成功返回用户编号，失败返回null
   */
  String tryLogin(String account, String pswd);

  /**
   * 重置用户密码
   *
   * @param phoneNumber 手机号
   * @param newPswd 新密码
   * @return 重置成功返回1，否则返回0
   */
  int resetPswd(String phoneNumber, String newPswd);

  /**
   * 修改手机号
   *
   * @param userId 用户编号
   * @param newPhoneNumber 新的手机号
   * @return 修改成功返回1，失败返0
   */
  int changePhoneNumber(String userId, String newPhoneNumber);
}
